home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-02-20 | 2.4 KB | 104 lines | [TEXT/R*ch] |
- # Count the number of buffers in the buffer cache for which
- # bp->b_flags & $bufcount_match is non-0.
- #
- # @(#)bdump 8.1 (Berkeley) 6/10/93
-
- set $bufcount_match=0x020000
- define bufcount
-
- set $i = 0
- set $num = 0
-
- while ($i < 512)
-
- set $bp = bufhash[$i].b_forw
- while ($bp != bufhash[$i].b_back)
- if ($bp->b_flags & $bufcount_match)
- set $num++
- end
- set $bp = $bp->b_forw
- end
- # printf "bucket: %d cumulative %d\n", $i, $num
- set $i++
- end
- printf "Number of buffers with flags & %x in hash table: %d\n", $bufcount_match, $num
- end
-
- # Dump the entire buffer cache.
-
- define bufdump
-
- set $i = 0
- set $num = 0
-
- while ($i < 512)
-
- set $bp = bufhash[$i].b_forw
- while ($bp != bufhash[$i].b_back)
- printf "bp=0x%x flags=0x%x vp=0x%x lblkno=0x%x blkno=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_blkno
- set $num++
- set $bp = $bp->b_forw
- end
- set $i++
- end
- printf "Number of buffers in hash table: %d\n", $num
- end
-
- # Dump the buffers in a particular hashbucket.
- # usage: dumpbucket bucketnumber
- define dumpbucket
-
- set $num = 0
- set $bp = bufhash[$arg0].b_forw
- while ($bp != bufhash[$arg0].b_back)
- printf "bp=0x%x flags=0x%x vp=0x%x lblkno=0x%x blkno=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_blkno
- set $num++
- set $bp = $bp->b_forw
- end
- printf "Number of buffers in bucket %d: %d\n", $arg0, $num
- end
-
- # Dump the buffers on the empty and age queues
-
- define bdumpnew
-
- set $i = 0
- set $num = 0
-
- while ($i < 4)
-
- printf "Queue %d\n", $i
- set $bp = (struct buf *)bufqueues[$i].qe_next
- while ($bp)
- printf "bp=0x%x flags=0x%x vp=0x%x lbn=%d size=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_bufsize
- set $num++
- set $bp = (struct buf *)$bp->b_freelist.qe_next
- end
- set $i++
- end
- printf "Number of buffers in free lists: %d\n", $num
- end
-
- define dumpchain
-
- set $bp = (struct buf *)$arg0
- while ($bp)
- printf "bp=0x%x flags=0x%x bn=0x%x lbn=%d count=%d size=%d\n", $bp, $bp->b_flags, $bp->b_blkno, $bp->b_lblkno, $bp->b_bcount, $bp->b_bufsize
- set $bp = (struct buf *)$bp->b_vnbufs.qe_next
- end
- end
-
- define dumpq
-
- set $num = 0
-
- printf "Queue %d\n", $arg0
- set $bp = (struct buf *)bufqueues[$arg0].qe_next
- while ($bp)
- printf "bp=0x%x flags=0x%x vp=0x%x lbn=%d size=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_bufsize
- set $num++
- set $bp = (struct buf *)$bp->b_freelist.qe_next
- end
- printf "Number of buffers on queue %d: %d\n", $arg0, $num
- end
-